import axios, { type AxiosInstance, type CreateAxiosDefaults } from "axios";
export class myAxios {
    instance: AxiosInstance;
    constructor(config?: CreateAxiosDefaults<any>) {
      this.instance = axios.create(config);
      this.interceptors();
    }
    interceptors() {
      // 添加请求拦截器
      this.instance.interceptors.request.use(
        function (config) {
          // 在发送请求之前做些什么
          config.headers.Authorization = localStorage.getItem("token");
          return config;
        },
        function (error) {
          // 对请求错误做些什么
          return Promise.reject(error);
        }
      );
  
      // 添加响应拦截器
      this.instance.interceptors.response.use(
        function (response) {
          // 2xx 范围内的状态码都会触发该函数。
          // 对响应数据做点什么
          return response.data;
        },
        function (error) {
          // 超出 2xx 范围的状态码都会触发该函数。
          // 对响应错误做点什么
          return Promise.reject(error);
        }
      );
    }
    http(url: string, data?: any) {
      return this.instance.request({
        url: url,
        data: data,
        params: data,
        method: "GET",
      });
    }
  }